HJS

블록체인과 암호화 해시 함수

1️⃣ 블록체인의 목적



2️⃣ 암호화폐와 블록체인

🔹 왜 디지털 화폐에 블록체인이 필요한가?

단순한 디지털 화폐 시스템에서는 중앙 관리자에 대한 신뢰가 필요하다

이름  잔액(원)
철수  1000
영희  1000
진수  1000

✔️ 철수가 영희에게 500원을 보냄 → 수기로 수정

철수    500
영희    1500
진수    1000

❗ 문제점

  1. 중앙 관리자(장부 관리자)가 조작할 수 있음
  2. 사용자들은 항상 최신 상태의 데이터를 볼 수 있어야 함
  3. 사용자가 많아 지면 관리가 복잡해짐

✔️ 1. 의 문제인 신뢰를 해결하기 위해 나온 기술이 바로 블록체인
✔️ 탈중앙화 네트워크 + 암호학 + 경제적 인센티브를 결합한 시스템



3️⃣ Smart Contract 블록체인

🧐 예시: Solidity

mapping(address => uint) balances;

function transfer(address to, uint amount) external {
  balances[msg.sender] -= amount;
  balances[to] += amount;
}

✔️ 이 코드 자체는 평범하지만, 블록체인에 배포하면 모든 노드가 이 로직을 강제 실행
✔️ 즉, 이 코드는 항상 정해진 방식대로 동작하게 되어 신뢰할 수 있는 시스템이 됨



4️⃣ Cryptographic Hash Function (암호화 해시 함수)

🔹 해시 함수란?

InputOutput (SHA256 예시)
1000x1a4c...
"open sesame"0x4b7e...
image.png0x8f2c...

🔹 암호화 해시 함수가 갖춰야 할 5가지 특성

  1. Deterministic - 항상 같은 입력 → 같은 출력
  2. Pseudorandom - 유사한 입력도 완전히 다른 출력
  3. One-way - 출력으로는 입력을 유추 불가능
  4. Fast to Compute - 컴퓨터가 빠르게 계산 가능
  5. Collision-resistant - 서로 다른 입력이 같은 출력이 될 가능성 거의 없음

✔️ 블록체인에서는 데이터를 저장하거나 검증할 때 해시값만 저장함으로써 공간 절약 및 무결성 확보 가능